package jmu.rzk.shippingmanagementsystem.service;

import jmu.rzk.shippingmanagementsystem.entity.User;
import jmu.rzk.shippingmanagementsystem.vo.request.LoginRequest;
import jmu.rzk.shippingmanagementsystem.vo.request.RegisterRequest;
import jmu.rzk.shippingmanagementsystem.vo.response.UserResponse;

import java.util.List;

/**
 * 用户服务接口
 */
public interface UserService {
    
    /**
     * 用户注册
     * @param registerRequest 注册请求
     * @return 用户响应
     */
    UserResponse register(RegisterRequest registerRequest);
    
    /**
     * 用户登录
     * @param loginRequest 登录请求
     * @return 用户响应
     */
    UserResponse login(LoginRequest loginRequest);
    
    /**
     * 获取用户信息
     * @param id 用户ID
     * @return 用户响应
     */
    UserResponse getUserById(Long id);
    
    /**
     * 更新用户信息
     * @param id 用户ID
     * @param user 用户信息
     * @return 更新后的用户响应
     */
    UserResponse updateUser(Long id, User user);
    
    /**
     * 删除用户
     * @param id 用户ID
     */
    void deleteUser(Long id);
    
    /**
     * 获取所有用户
     * @return 用户列表
     */
    List<UserResponse> getAllUsers();
} 